home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / text / tex / tpp410n.lha / TPPGlobal.lha / rexx / tpl / StartShowDVI.tpl < prev    next >
Text File  |  1992-05-02  |  2KB  |  69 lines

  1. /* Start ShowDVI - Macro */
  2.  
  3. options results
  4.  
  5. binary='TeX:bin/ShowDVI'
  6. hailstring = 'ShowDVI Optionen'
  7.  
  8. address 'TextPlus'
  9.  
  10. /* get name of current file */
  11.  
  12. 'GetName'
  13. showopts = result
  14.  
  15. /* strip off extension */
  16. if RIGHT(showopts, 4) == '.tex' then do
  17.    len = LENGTH(showopts) - 4
  18.    showopts = LEFT(showopts, len)
  19.    end
  20.  
  21. 'RequestString' hailstring'\\'showopts
  22.  
  23. showopts = result
  24. n = WORDS(showopts)
  25. fullname = WORD(showopts, n)
  26. n = LENGTH(showopts) - LENGTH(fullname)
  27. showopts = LEFT(showopts, n)
  28.  
  29. PARSE VALUE namestruc(fullname) WITH ivol idirs ibase .
  30.  
  31. IF fullname == "" then empty = 'true'
  32.                   else empty = 'false'
  33.  
  34. IF "" == SUBSTR(fullname, 1+ivol+idirs+ibase) THEN DO
  35.         fullname = fullname||".dvi"     /* supply a default extension   */
  36.         ibase = ibase + 4
  37.         END
  38.  
  39. IF 0 = ivol THEN DO
  40.         direc = PRAGMA('d')
  41.         IF RIGHT(direc,1)~='/' & RIGHT(direc,1)~=':' THEN direc=direc||'/'
  42.         fullname = direc||fullname
  43.         DROP direc
  44.         END
  45. ELSE DO
  46.         direc = SUBSTR(fullname, 1, ivol+idirs)
  47.         IF RIGHT(direc,1) = '/' THEN DO
  48.             n = LENGTH(direc)
  49.             direc = LEFT(direc, n-1)
  50.             END
  51.         call pragma 'Directory', direc
  52.      END
  53. DROP ivol idirs ibase
  54.  
  55. /* valid filename/opts ? */
  56. if empty = 'false' then do
  57.    /* showdvi already running? */
  58.    if show('P', 'showdvi') then do
  59.       address 'showdvi' 'tofront'
  60.       address 'showdvi' 'loadnew' fullname
  61.       address 'showdvi' 'activate'
  62.       end
  63.    else
  64.       address command binary showopts fullname
  65.    end
  66. else
  67.    'Display' 'ShowDVI ... Abbruch'
  68.  
  69.